Copyright (C) 2001-2003 YAMAHA CORPORATION

* MA-3 Sound Middleware Ver.1.3.15.5 2003.04.24 *

1. About this document
=========================
 This Readme.txt describes about MA-3 Sound Middleware sample source cord 

2. Included files
===================
 MA-3 sound middleware consists of the following files.

   - MA Sound Middleware system dependence  - mamachdep.h
                                              mamachdep.c
                                              macnvprf.h

   - MA Sound Player API                    - masound.h
                                            - ma3sound.h
                                            - masound2.h

   - MA Sound Sequencer                     - masndseq.c
                                              masndseq.h

   - MA Sound Driver                        - masnddrv.c
                                              masnddrv.h
                                              matable.h

   - MA Resource Manager                    - maresmgr.c
                                              maresmgr.h

   - MA Device Driver                       - madevdrv.c
                                              madevdrv.h

   - MA SMAF Stream Converter               - mammfcnv.c
                                              mammfcnv.h

   - MA SMAF/Phrase Stream Converter        - maphrcnv.c
     MA SMAF/Audio Stream Converter           maphrcnv.h
                                              maphrwrp.h

   - MA RealtimeMIDI Stream Converter       - marmdcnv.c
                                              marmdcnv.h

   - MA SMF Stream Converter                - mamidcnv.c
                                              mamidcnv.h

   - MA Wav Stream Converter                - mawavcnv.c
                                              mawavcnv.h

   - MA Library Function                    - malib.c
                                              malib.h
                                              masoundlib.h

   - other                                  - madebug.h
                                              madebug.c
                                              madefs.h
                                              masmwmain.c

3. Version history
=====================
  [V1.00]    2001.06.29 First release version
  [V1.2.0.3] 2001.07.25 Corrected deficiency.
  [V1.2.1.3] 2001.08.09 Corrected deficiency.
  [V1.2.2.4] 2001.09.20 Corrected deficiency.
  [V1.2.3.1] 2001.10.05 Corrected deficiency.
  [V1.2.4.2] 2001.10.31 Corrected deficiency.
                        Added the specification of MaSound_Control(MASMW_GET_LEDSTATUS).
                        Added the specification of MaSound_Control(MASMW_GET_VIBSTATUS).
  [V1.3.2.8] 2001.12.03 Corrected deficiency.
  [V1.3.3.1] 2001.12.10 Corrected deficiency.
  [V1.3.4.2] 2001.12.20 Corrected deficiency.
  [V1.3.5.5] 2002.01.30 Corrected deficiency.
  [V1.3.6.5] 2002.02.27 Corrected deficiency.
  [V1.3.7.5] 2002.03.27 Corrected deficiency.
  [V1.3.8.1] 2002.05.29 Corrected deficiency.
  [V1.3.9.0] 2002.06.26 Corrected deficiency.
  [V1.3.10.5] 2002.08.08 Added the fuction for SMF plyback.
  [V1.3.11.4] 2002.09.20 Changed specification so that key control might be effective also to pitch bend at the SMAF/MA-2 playback.
			 Added the compile option which disregards KCS (Kec Control Status) of SMAF/MA-1.
			 Corrected the fault points.
  [V1.3.14.1] 2003.01.16 Corresponded to MIDP 2.0.
                         Corrected the fault points.
  [V1.3.15.5] 2003.04.24 Added MIDP 2.0 correspondence 
			 Added the function which acquires LED, VIB, and KCS information in SMAF.
			 Added the compile option which disregards KCS setup in SMAF/MA-3.
                         Corrected faults.


4. Comment
===========

- Set MA_STATUS_TIMEOUT as 1.5ms or more. (mamachdep.h)
- When reproduces, it is recommended that setting playback volume as 0dB by MaSound_Control() after the file open.
  (At the authoring tool side, data are made in the condition of set as 0dB.)
  This setup is added in masmwmain.c, please refer to it.

- Contents Class and Contents Type of corresponding SMAF are different by Carrier (Operator) etc..
  Please change the setup of Contents Class and Contents Type used as the conditions of SMAF playback propriety judging if needed.
  Contents Class was already customized at the release of this package.
  Please customize the applicable part of mammfcnv.h according to application of Carrier (Operator) about Contents Type.

/* SMAF Contents Class & Type */ 
#define CONTENTS_CLASS_1            0x00        /* Contents Class 0x00        */
#define CONTENTS_CLASS_2            0x20        /* Contents Class 0x20        */
#define CONTENTS_TYPE_1             0x00        /* Contetns Type 0x00 - 0x0F  */
#define CONTENTS_TYPE_2             0x10        /* Contents Type 0x10 - 0x1F  */
#define CONTENTS_TYPE_3             0x10        /* Contents Type 0x20 - 0x2F  */
#define CONTENTS_TYPE_4             0x30        /* Contents Type 0x30 - 0x3F  */
#define CONTENTS_TYPE_5             0x40        /* Contents Type 0x40 - 0x4F  */
#define CONTENTS_TYPE_6             0x40        /* Contents Type 0x50 - 0x5F  */

 Treatment of Contents type
  When MA3 MMS API is implemented at graphic-system terminal, please make the following change to reproduce Contents Type 0x20 and 0x50. 

#define CONTENTS_TYPE_3             0x10        /* Contents Type 0x20 - 0x2F  */
#define CONTENTS_TYPE_6             0x40        /* Contents Type 0x50 - 0x5F  */
  Changes the above to the following.
#define CONTENTS_TYPE_3             0x20        /* Contents Type 0x20 - 0x2F  */        
#define CONTENTS_TYPE_6             0x50        /* Contents Type 0x50 - 0x5F  */  

- The additional parameter (for MaSound_Control()) was prepared for SMAF/MA-3 load processing-time abatement.
  Please refer to MA-3_SMW_Smaf_API.pdf for specification of operation. 

  MASMW_GET_LOADINFO: For SMAF playback information (profile) acquisition 
  MASMW_SET_LOADINFO: For SMAF playback information registration 

  * 128 Byte are needed for information preservation.


- There is the following change as file organization from MA-3 sound middleware Ver.1.3.x.

  - API of SMAF/Phrase is unified to Phrase Wrapper API and these main parts are unified to maphrcnv.c.
  - Audio is restricted to existing with only Phrase and the code is unified to maphrcnv.c. The API itself of Audio remains as it is.

  As the source, in addition to smwmaphrwrp.c, the source of maaudcnv.c/h are also deleted.
(maphrwrp.h remains as it is.)

- Example routine phrase_main() of basic playback of SMAF/Phrase MA-2 compatible API (Phrase Wrapper API) was added to masmwmain.c.
